package pbAutoMain;

import java.util.ArrayList;
import java.util.List;

import com.me.generatePB.AutoGeneratePBUtils;
import com.me.generatePB.BaseConnection;
import com.me.generatePB.Column;
import com.me.generatePB.PBModel;

public class SpaceVideo {
	public static void main(String args[]) {

		// 设置数据库
		String driver = "com.mysql.jdbc.Driver";
		String connectionURL = "jdbc:mysql://localhost:3306/vlink-hdj?useUnicode=true";
		String username = "root";
		String password = "root";

		// 设置连接
		BaseConnection.setConnection(driver, connectionURL, username, password);

		// 设置PB模型
		AutoGeneratePBUtils auto = new AutoGeneratePBUtils();
		PBModel pbModel = auto.getProtocolBufferModel("sp_product_column"); // 设置数据库表名

		// 可以不用设置,默认更具数据库自动生成
		pbModel.setPbClassName("SpaceColumn"); // 重置默认pb的Class名字
		pbModel.setPbFileName("ProtocSpaceColumn"); // 充值PB的默认文件名

		// 额外的pb属性

		pbModel.setAdditionalColumns(ewaiArribute());

		// 需要导入的PB对象
		// pbModel.setImportList(importList());

		// 设置文件的路径
		auto.setPath("pb/");

		// 生成PB文件
		auto.generatePB(pbModel);

		// 关闭连接
		BaseConnection.close();
	}

	private static List<String> importList() {
		// TODO Auto-generated method stub
		List<String> imports = new ArrayList<String>();
		imports.add("ProtocUserInfo.proto");
		imports.add("ProtocSpaceVideo.proto");
		imports.add("ProtocSpaceColumn.proto");

		return imports;
	}

	/**
	 * 设置额外的属性
	 * 
	 * @return
	 */
	public static List<Column> ewaiArribute() {
		List<Column> columns = new ArrayList<Column>();
		Column column = new Column();
		// column.setColumnName("userInfo");
		// column.setColumnType("UserInfo");
		// column.setRemarks("用户信息");
		// columns.add(column);
		//
		// Column column3 = new Column();
		// column3.setColumnName("spaceVideo");
		// column3.setColumnType("SpaceVideo");
		// column3.setRemarks("视频信息");
		// columns.add(column3);
		//
		// Column column2 = new Column();
		// column2.setColumnName("spaceColumn");
		// column2.setColumnType("SpaceColumn");
		// column2.setRemarks("店铺栏目");
		// columns.add(column2);

		Column column4 = new Column();
		column4.setColumnName("spaceColumns");
		column4.setColumnType("repeated SpaceColumn");
		column4.setRemarks("栏目列表");
		columns.add(column4);

		return columns;
	}
}
